<?php

namespace app\admin\controller;

use think\Controller;
use think\Db;
use think\Request;

class Review extends Admin
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        // 查询House表
        $data = Db::name('house')
            ->alias('h')
            ->field(['h.id','h.address','h.rent','h.review','l.name'])
            ->join('landlord l','l.id=h.lid')
            ->where('h.review','2')
            ->paginate(4);
        // 分页
        $page = $data->render();

        $this->assign('data', $data);
        $this->assign('page', $page);
        return $this->fetch('review/index');
    }



    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        // 生成数组
        $arr = ['黄浦区','徐汇区','长宁区','杨浦区','奉贤区','普陀区','静安区','虹口区','浦东新区'];
        $type = Db::name('house_type')
            ->field(true)
            ->where('display','1')
            ->select();

        $data = Db::name('house')
            ->alias('h')
            ->field(['h.*','l.name','l.tel'])
            ->join('landlord l','l.id=h.lid')
            ->find($id);
        $data['add'] = substr($data['address'],0,9);
        $data['address'] = substr($data['address'],9);
//        var_dump($data);die;
        return view('', [
            'arr'=>$arr,
            'type'=>$type,
            'data'=>$data
        ]);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $put = $request->put();
        // 处理数据
        $arr['name'] = $put['name'];
        $arr['tel'] = $put['tel'];

        unset($put['name']);
        unset($put['tel']);
        unset($put['_method']);
        $put['address'] = $put['add'].$put['address'];
        $put['datetime'] = date('Y-m-d H:i:s');
        unset($put['add']);

        // 根据id查询房东id
        $lid = Db::name('house')
            ->field('lid')
            ->find($id);
//        var_dump($put,$arr,$lid);die;
        // 启动事务
        Db::startTrans();
        try{
            // 插入房东表
            Db::name('landlord')->where('id',$lid['lid'])->data($arr)->update();
            // 插入房源表
            Db::name('house')->where('id',$id)->data($put)->update();
            // 提交事务
            Db::commit();
            $sw = true;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            $this->error('编辑失败!');
        }
        if ($sw) {
            return $this->redirect( url('admin/Review/index'));
        }
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }

    // 修改状态
    public function doReview($id)
    {
        $res = Db::name('house')
            ->field('review')
            ->find($id);
        if ($res['review'] == 2) {
            $arr = ['review'=>1];
            $data = Db::name('house')
                ->where('id',$id)
                ->update($arr);
            if ($data) {
                return json($arr);
            }
        }
    }
}
